This invention relates to ultrasound imaging methods and apparatus, and more particularly to color doppler imaging methods and apparatus.
Medical imaging systems are used as diagnostic tools for viewing internal areas of a patient's body. Imaging systems based on ultrasound technology are desirable because such systems are non-invasive, portable and generally easy to use. Ultrasound energy is sound wave energy having a frequency greater than approximately 20 kHz. To generate ultrasound energy, electronic signals are input to a transducer which converts the electrical signals into ultrasound signals. Ultrasound signals, typically of 2 MHz to 10 MHz, are transmitted into a patient's body where they are in-part absorbed, dispersed, refracted and reflected. Reflected ultrasound signals are received at transducer elements which convert the reflected ultrasound signals back into electronic echo signals. The echo signals undergo beamforming to correlate the ultrasound signals. Subsequently the beam-formed signals are processed to analyze echo, Doppler, and flow information and obtain an image of the patient's targeted anatomy (e.g., tissue, fetus, vessels, blood flow).
Individual images produced by ultrasound imaging systems include discrete frames. Each frame has a limited field of view due to a relatively narrow region traversed by the transmitted ultrasound energy. As the transducer probe is manipulated along the patient's body surface, each previous image is replaced on the viewing display by a new image defined by the current position, and thus field of view, of the transducer probe. The data for generating one output image frame typically may be acquired in 20 to 200 milliseconds, depending on the desired target depth and the amount of data to be collected. To perform imaging in real time, the combined time for processing and displaying image data is not to be longer than the time spent in acquiring the data.
A B-mode image is a brightness image in which component pixels are brightened in proportion to a corresponding echo signal strength. The brightness image represents a two dimensional cross section of a patient target area through a transducer's scanning plane. Typically the B-mode image is a gray scale image in which the range of darker to brighter gray-scale shades corresponds to increasing brightness or echo strength. The typical ultrasound B-mode image is formed by a linear scan or sector scan of the patient's target area with the transducer probe.
Velocities of moving targets within the area scanned are measured by performing Doppler analysis on the gathered data. Blood flow, for example, may be calculated throughout a given image plane and displayed as a color overlay on a B-mode image. The resulting image is referred to as a BC-mode image. Typically, a large number of complex operations, such as arctangent, division, and square root operations are required for each output pixel of a BC-mode image. As a result, color Doppler imaging has not been performed in real time on general-purpose microprocessors without sacrificing functionality or accuracy.
Following is background on conventional color Doppler processing:
Color Doppler input Data
Input data is generated by emitting, then receiving, ultrasound signals at a transducer. The signals are modulated on a specific carrier frequency (w.sub.c). The amount of energy transmitted over time to a specific location is: EQU T(t)=2 cos(w.sub.c t)=e.sup.jw.sbsp.c.sup.t +e.sup.-jw.sbsp.c.sup.t
Such energy is transmitted to many points within the body. Echo data samples are received in both a time range and a spatial range. The number of samples taken per spatial location over time typically is small (e.g., not more than 16). A set of data samples from a specific spatial location over time is called an ensemble.
The instantaneous energy of a received ensemble (R(t), depends on the acoustic reflectance, B(t), of the tissue being scanned. The frequency of the received ensemble is a combination of the carrier frequency, w.sub.c, and any Doppler frequency, w.sub.d, that is present. The energy of the received ensemble is: EQU R(t)=B(t)*e.sup.j(w.sbsp.c.sup.-w.sbsp.d.sup.)t +e.sup.-j(w.sbsp.c.sup.-w.sbsp.d.sup.)t !
The carrier frequency is removed from the ensemble using quadrature down conversion as follows: EQU LPFB(t)e.sup.jw.sbsp.c.sup.t !=LPFB(t)(e.sup.j(2w.sbsp.c.sup.-w.sbsp.d.sup.)t +e.sup.jw.sbsp.d.sup.t)!=B(t)*e.sup.jw.sbsp.d.sup.t
where LPF signifies a low pass filter. To remove the dc components in B(t) (which represent tissue) each ensemble is passed through a high pass filter. The resulting complex samples are: EQU HPFB(t)*e.sup.jw.sbsp.d.sup.t !=P(t)*e.sup.jw.sbsp.d.sup.t =I(t)+jQ(t)
where P(t) is the power of the received Doppler signal, I(t) is the real component of P(t)e.sup.jw.sbsp.d.sup.t, and Q(t) is the imaginary component of P(t)e.sup.jw.sbsp.d.sup.t.
Deriving the Doppler Frequency
One method for calculating Doppler frequency is to use Fast Fourier Transforms (FFT) to convert each ensemble into the frequency domain, then locate the small peak in the FFT spectrum. This peak corresponds, for example, to the Doppler signal from moving blood. The use of FFTs, however, can lead to inaccuracies. This is because the FFT treats the ensemble as being periodic. Since this is not generally the case, the periodicity assumption causes a discontinuity in the results which is not part of the original ensemble. To ameliorate this, it is known to use a window function. However, in doing so, the frequency domain resolution suffers. Accordingly, time domain techniques have been developed in the art.
A common time domain method estimates the Doppler frequency by computing a mean frequency of the ensemble using an autocorrelation algorithm. To compute the autocorrelation function, the jth point in the output signal is the sum of the products of the input signal and the complex conjugate of the input signal shifted right by j points. The value j ranges from 0 to J-1. The first lag of the autocorrelation function is where j equals 1. The product terms for the first lag are: EQU L.sub.h =(I.sub.h I.sub.h-1 +Q.sub.h Q.sub.h-1)+j(Q.sub.h I.sub.h-1 -Q.sub.h-1 I.sub.h)
where h is an index into the ensemble. The instantaneous frequency of the ensemble is calculated as the instantaneous change in phase, as follows: EQU phase=.DELTA..PHI..sub.h =full arctan (Q.sub.h /I.sub.h), and EQU .DELTA..PHI..sub.h -.DELTA..PHI..sub.h-1 =full arctan (Q.sub.h /I.sub.h)-full arctan (Q.sub.h-1 /I.sub.h-1)
with EQU .DELTA..PHI..sub.h -.DELTA..PHI..sub.h-1 =full arctan (Q.sub.h I.sub.h-1 -Q.sub.h-1 I.sub.h)/(I.sub.h I.sub.h-1 +Q.sub.h Q.sub.h-1)!
where full arctan returns a value from -pi to pi. The numerator in the above full arctan equation is the imaginary part of the product terms of the first lag autocorrelation of the ensemble. The denominator of the same equation is the real part of the product terms of the first lag autocorrelation of the ensemble. The mean frequency of the ensemble is proportional to the phase of the mean output sample of the first lag as follows: ##EQU1## where E is the number of the complex samples per ensemble. The numerator of this equation is herein referred to as `num,` while the denominator is referred to as `denom.`
Generating Color Velocity Images
To estimate blood flow velocities, the complex outputs of the autocorrelation function are converted into velocities, as follows: EQU estimated velocity=atan2(num,denom)!/.pi.
where atan2(num,denom) returns the phase of (denom+j num) from -.pi. to .pi. in the complex plane. The .pi. in the denominator normalizes the output from -1 to 1. Alternatively, the function .theta.=arctanabs(num)/abs(denom)! is used, which returns the phase of (denom+j num) from 0 to .pi./2 in the complex plane.
The estimated velocity equation is applied to every num-denom pair in each ensemble so that an entire range of velocities is generated. These velocities are then quantized into a small number of bits. In a 5 bit quantization, for example, each velocity is mapped to one of 32 different colors. Note that the equation is implemented even for data pairs which correspond to tissue rather than blood flow.
Once the velocities are calculated, a color Doppler image is generated conventionally by overlaying the velocity image on top of the corresponding gray-scale tissue image. This process includes a pixel-by-pixel decision of whether to output an estimated velocity value or a gray-scale tissue value. Each incoming echo (tissue) pixel is checked against a predetermined tissue threshold value. If the tissue value is greater that the tissue threshold value, it is a valid tissue pixel. Thus, the tissue value is used in the output image. If the tissue value is less than the tissue threshold value, and a color flow velocity test is passed, then the color flow value is used in the output image. The color flow validity test determines whether the magnitude (num.sup.2 +denom.sup.2).sup.0.5 and the estimated velocity exceed their respective thresholds. If a pixel fails this validity test, then the tissue value is used in the output image, even though the tissue value is less than the tissue threshold value.
The complexity of these algorithms has presented a challenge to implementing color Doppler imaging in real time using general purpose processors. Conventionally, functionality or accuracy is compromised to achieve real-time performance. Alternatively, expensive, dedicated hard-wired circuit boards have been implemented to perform Doppler processing fast enough for real-time display.